package com.seleniti.pozit.client.ioc.impl;

import org.ioc.commons.flowcontrol.eventbus.IsEventBus;
import org.ioc.commons.flowcontrol.messageboxfactory.MessageBoxFactory;
import org.ioc.commons.flowcontrol.placecontroller.PlaceController;
import org.ioc.commons.flowcontrol.taskcontroller.TaskController;
import org.ioc.commons.i18n.DateTimeFormatter;
import org.ioc.commons.i18n.NumberFormatter;
import org.ioc.commons.integration.dataaccess.localstorage.LocalClientStorage;
import org.ioc.commons.model.globaldata.GlobalDataController;

import com.grupit.api.core.control.ioc.GrupitClientFactory;
import com.seleniti.pozit.controller.common.GlobalData;
import com.seleniti.pozit.controller.common.LocalData;
import com.seleniti.pozit.controller.control.factory.PoZitAppController;
import com.seleniti.pozit.controller.control.factory.PoZitExceptionController;
import com.seleniti.pozit.controller.model.integration.service.PoZitServiceManager;
import com.seleniti.pozit.controller.ui.i18n.I18NMessages;
import com.seleniti.pozit.controller.ui.main.AppShell;

public class GrupitPozitClientFactoryDesktopImpl implements com.seleniti.pozit.controller.control.factory.ClientFactory {

	private final GrupitClientFactory grupitClientFactory;

	public GrupitPozitClientFactoryDesktopImpl(GrupitClientFactory grupitClientFactory) {
		this.grupitClientFactory = grupitClientFactory;
	}

	@Override
	public PoZitAppController getApp() {
		/*
		 * No required for Grupit plug-in
		 */
		return null;
	}

	@Override
	public PlaceController getPlaceController() {
		return this.grupitClientFactory.getPlaceController();
	}

	@Override
	public PoZitExceptionController getExceptionController() {
		// TODO Por hacer
		return null;
	}

	@Override
	public TaskController getTaskController() {
		// TODO Por hacer
		return null;
	}

	@Override
	public MessageBoxFactory getMessageBoxFactory() {
		// TODO Por hacer
		return null;
	}

	@Override
	public PoZitServiceManager getServiceManager() {
		// TODO Por hacer
		return null;
	}

	@Override
	public AppShell getShell() {
		// TODO Por hacer
		return null;
	}

	@Override
	public IsEventBus getGlobalEventBus() {
		// TODO Por hacer
		return null;
	}

	@Override
	public GlobalDataController<GlobalData> getGlobalDataController() {
		// TODO Por hacer
		return null;
	}

	@Override
	public DateTimeFormatter getDateTimeFormatter() {
		// TODO Por hacer
		return null;
	}

	@Override
	public NumberFormatter getNumberFormatter() {
		// TODO Por hacer
		return null;
	}

	@Override
	public LocalClientStorage<LocalData> getLocalClientStorage() {
		// TODO Por hacer
		return null;
	}

	@Override
	public I18NMessages getI18NMessages() {
		// TODO Por hacer
		return null;
	}

}
